package cn.edu.sgu.www.mhxysy.service.gang;

import cn.edu.sgu.www.mhxysy.pager.Pager;
import cn.edu.sgu.www.mhxysy.dto.gang.GangMemberDTO;
import cn.edu.sgu.www.mhxysy.entity.gang.GangMember;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface GangMemberService {

	/**
	 * 数据导出
	 * @throws UnsupportedEncodingException 方法抛出的异常
	 */
	void exportData() throws UnsupportedEncodingException;

	/**
	 * 导入数据
	 * @param file MultipartFile
	 * @throws IOException 方法抛出的异常
	 */
	@Transactional(rollbackFor = Exception.class)
	void importData(MultipartFile file) throws IOException;

	/**
	 * 添加帮派成员
	 * @param memberDTO 帮派成员信息
	 */
	void insert(GangMemberDTO memberDTO);
	
	/**
	 * 通过ID删除帮派成员
	 * @param id 帮派成员ID
	 */
	void deleteById(String id);

	/**
	 * 通过ID修改帮派成员信息
	 * @param memberDTO 帮派成员信息
	 */
	void updateById(GangMemberDTO memberDTO);

	/**
	 * 分页查询帮派成员列表
	 * @param pager 分页参数
	 * @return Page<GangMember>
	 */
    Page<GangMember> selectByPage(Pager<GangMember> pager);
}